1

Railsにこのリンクがあります:

<%= link_to "Add to Journal", add_post_journal_path(post), :method => :put %>

ただし、このリンクを変換して、選択するコンテンツを一覧表示するコンテンツを含むファンシーボックスを表示したいと思います。まず、次のコードを使用します。

<%= link_to "fancy", "#add_post", :class=>"fancybox" %>

しかし、実際の投稿をfancyboxに渡したいので、エラーが発生しました。そのため、次のコードを使用していますadd_post.html.erb

<h1>Escolha o Jornal que deseja adicionar:</h1>
<ul>
<% current_user.journals.each do |journal| %>
  <li><%= link_to journal.name,add_post_complete_journal_path(journal),:remote=>true %> </li>
<% end %>
</ul>

そして私のコントローラーは:

def add_post
  @journal_post = JournalsPosts.new
  session[:post_add] = params[:id]
end

def add_post_complete
  @journal_post = JournalsPosts.create(:post_id => session[:post_add],:journal_id => params[:id])

  respond_with @journal_post
end

このコードを変換して、fancyboxのコンテンツを使用するにはどうすればよいですか?

4

1 に答える 1

3

アクションadd_postを追加して、次のjsで応答します。

def add_post
    @journal_post = JournalsPosts.new
    session[:post_add] = params[:id]
    respond_to do |format|
      format.js
    end
  end

add_post.js.erb次のコンテンツを含むファイルをビューに追加します。

$.fancybox('<%= escape_javascript(render(:partial => 'path_to/add_post'))%>',
  {
    openEffect: "fade",
    closeEffect: "fade",
    autoSize: true,
    minWidth: 480,
    scrolling: 'auto',
  });

たとえば、_add_post.html.erbビューにパーシャルを追加しました。これで、このパーシャル内にコードビューを記述できます。

#code for your view inside partial `add_post.html.erb`
<%= @journal_post %>
<h1>Escolha o Jornal que deseja adicionar:</h1>
<ul>
 .
 .

よろしく!

于 2013-01-26T17:31:49.090 に答える