我读到erb可以和reactjs组件中的jsx一起使用,所以我想我会尝试使用该组件来渲染数据库对象。
这是组件:
public class ViewModel
{
public DelegateCommand ExportCommand { get; }
public ViewModel()
{
ExportCommand = new DelegateCommand(Export, CanDoExptor);
}
private void Export()
{
//logic
}
private bool _isCanDoExportChecked;
public bool IsCanDoExportChecked
{
get { return _isCanDoExportChecked; }
set
{
if (_isCanDoExportChecked == value) return;
_isCanDoExportChecked = value;
ExportCommand.RaiseCanExecuteChanged();
}
}
private bool CanDoExptor()
{
return IsCanDoExportChecked;
}
}
这是控制器:
class Item extends React.Component {
render () {
return (
<% @items.each do |item| %>
<div class="four wide column">
<div class="card">
<%= link_to item do %>
<div class="item-image">
<%= image_tag item.image.url(:thumb) %>
</div>
<div class="item-info">
<h1><%= item.title %></h1>
<span>$<%= item.price %></span>
</div>
<% end %>
</div>
</div>
<% end %>
);
}
}
这会产生错误class PagesController < ApplicationController
def index
@items = Item.all
respond_to do |format|
format.html
format.json { render json: @items.to_json}
end
end
end
如果我删除模型循环,对象属性和link_to,jsx呈现,但显然我想要显示的数据丢失。
这是一种不好的方式吗?在我这看来应该在views目录中 - 而不是assets / javascript / components。