Rails 5 ERBの構造化レイアウトは、データ用のjsonファイルを介してローカルとして渡される各データに対して部分的にレンダリングされますが、それぞれ1つまたは2つのボタンその中に対応するリンクがあるので、それに対応する各リンクのボタンのタイトルも変更したいと思います。私はすでに実装していますが、ビュー内のすべてのロジックを置くことは魅力的ではないと感じています。これは、jsonファイル内の各リンクの特定のボタンを表示するヘルパーに入れる方法です。対応するボタンを表示し、そのリンクをレールに表示
私は基本的にこの
data.json
[{
"github": "https://github.com/",
"heroku": "https://heroku.com/",
"button": [{"github": "github", "heroku": "heroku", "codepen": "codepen", "behance": "behance"}]
},
{
"github": "https://github.com/",
"heroku": "https://heroku.com/",
"button": [{"github": "github", "heroku": "heroku", "codepen": "codepen", "behance": "behance"}]
},
{
"codepen": "https://codepen.com/",
"button": [{"github": "github", "heroku": "heroku", "codepen": "codepen", "behance": "behance"}]
},
{
"codepen": "https://behance.com",
"button": [{"github": "github", "heroku": "heroku", "codepen": "codepen", "behance": "behance"}]
}]
application_helper.rb
index.html.erbコントローラ/テンプレート
<%= portfolio_section('Portfolio') do %>
<!-- nested partials -->
<!-- Send data from our json file and pass in local variable for it to be interpolated -->
<% @data.each do |data| %>
<%= render(:partial => 'editable-sections/panels/panel', :locals => {:data => data})%>
<% end %>
<% end %>
_panel.html.erb /部分
<!-- _panel.html.erb -->
<div class="btn-position">
<% if data["github"] && ["heroku"].present?%>
<a href="<%= data["github"] %>" target="_blank" class="btn btn-sharp">
<%= data["button"][0]["github"]%>
</a>
<a href="<%= data["heroku"] %>" target="_blank" class="btn btn-sharp">
<%=data["button"][0]["heroku"] %>
</a>
<% elsif data["codepen"].present?%>
<a href="<%= data["codepen"] %>" target="_blank" class="btn btn-sharp">
<%= data["button"][0]["codepen"]%>
</a>
<% elsif data["behance"].present?%>
<a href="<%= data["behance"] %>" target="_blank" class="btn btn-sharp">
<%= data["button"][0]["behance"]%>
</a>
<% end %>
</div>
私はそれを試して、少し構成を作って、それは動作します、私もチェックアウトドレープかもしれません。 –
あなたに素晴らしい答えを受け入れることができますか? –